<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图表联动（环形图）</title>
    <script type="text/javascript" src="../static/js/echarts.min.js"></script>
    <script src="../static/js/jquery-3.4.1.min.js"></script>
    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <!-- 可选的 Bootstrap 主题文件（一般不用引入） -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</head>
<body>
    <div id="main" style="height: 600px;width: 600px; position: relative;"></div>
    <table class="table table-bordered table-hover" id="table">
        <thead>
            <tr>
                <th>用户类型</th>
                <th>用户人数</th>
            </tr>
        </thead>
        <tbody>
            <tr id="tr1">
                <td>{{ data[0][0] }}</td>
                <td>{{ data[0][1] }}</td>
            </tr>
            <tr id="tr2">
                <td>{{ data[1][0] }}</td>
                <td>{{ data[1][1] }}</td>
            </tr>
            <tr id="tr3">
                <td>{{ data[2][0] }}</td>
                <td>{{ data[2][1] }}</td>
            </tr>
            <tr id="tr4">
                <td>{{ data[3][0] }}</td>
                <td>{{ data[3][1] }}</td>
            </tr>
        </tbody>
    </table>
    <div style="width: 640px; height: 480px; position: absolute;right: 680px; top: 30px;background-image: url('../static/picture/money.png')"></div>
    <div style="width: 640px; height: 480px;  position: absolute;right: 50px; top: 30px;background-image: url('../static/picture/times.png')"></div>
    <script type="text/javascript">
        // 页面加载函数
        $(function () {
            //进行echarts的初始化
            var myEcharts = echarts.init(document.getElementById("main"));
            var option = {
                // 定义标题
                title : {
                    text:"图表联动demo",
                    textStyle: {
                        color:'#deb252',
                        size:10
                    }
                },
                // 鼠标悬停显示数据
                tooltip:{
                },
                //图例
                legend : {
                    top: '10%',
                    left: 'center',
                    {#data: {{ data1|tojson }}#}
                },
                //数据
                series :[
                    {
                        radius:['55%','70%'], //半径
                        label:{
                            normal:{
                                // 取消在原来的位置显示
                                show:false,
                                // 在中间显示
                                position:'center'
                            },
                            // 高亮扇区
                            emphasis:{
                                show:true,
                                textStyle:{
                                    fontSize:30,
                                    fontWeight:'bold'
                                }
                            }
                        },
                        data:[
                                // 对应图例的值
                                {name:'高价值型客户',value:{{ data2[0] }}},
                                {name:'大众型客户',value:{{ data2[1] }}},
                                {name:'潜力型客户',value:{{ data2[2] }}},
                                {name:'低价值型客户',value:{{ data2[3] }}}

                            ],
                        type:'pie',
                        //关掉南丁格尔图
                        //roseType:'radius'
                    }
                ]
            };
            // 设置配置项
            myEcharts.setOption(option);

            // 设置echarts的点击事件
            myEcharts.on('click',function (params) {
                // 获取table下所有的tr
                let trs = $("#table tbody tr");
                for (let i = 0;i<trs.length;i++){
                    // 获取tr下所有的td
                    let tds = trs.eq(i).find("td");
                    // 先把之前的标记的success去掉
                    $("#table tbody tr").eq(i).removeClass('success');
                    // 如果点击图示的名字和table下的某一个行的第一个td的值一样
                    if (params.name == tds.eq(0).text()){
                        //设置success状态
                        $("#table tbody tr").eq(i).addClass('success');
                        // 跳转到页面指定的id位置
                        $("html,body").animate({scrollTop:$("#table tbody tr").eq(i).offset().top},1000);
                    }
                }
            });

            // 当鼠标落在tr时，显示浮动
            $("#table tbody").find("tr").on("mouseenter",function () {
                // 获得当前匹配元素的个数
                let row = $(this).prevAll().length;
                // 获得当前tr下td的名字
                let name = $("#table tbody").find("tr").eq(row).find("td").eq(0).text();
                // 设置浮动
                myEcharts.dispatchAction({ type: 'showTip',seriesIndex: 0, name:name});//选中高亮
            });
            // 当鼠标移开tr时候取消浮动
            $("#table tbody").find("tr").on("mouseleave",function () {
                // 获得当前匹配元素的个数
                let row = $(this).prevAll().length;
                // 获得当前tr下td的名字
                let name = $("#table tbody").find("tr").eq(row).find("td").eq(0).text();
                // 设置浮动
                myEcharts.dispatchAction({ type: 'hideTip', name:name});//选中高亮
            });
        });
    </script>
</body>
</html>

